package com.alibaba.sdk.service;

import com.alibaba.sdk.model.OperationResult;
import com.alibaba.sdk.model.entity.User;
import com.alibaba.sdk.model.input.OneUserInput;
import com.alibaba.sdk.model.input.UserAddInput;
import com.alibaba.sdk.model.input.UserListInput;
import com.alibaba.sdk.model.input.UserTypeInput;
import com.alibaba.sdk.model.output.OneUserResponse;
import com.alibaba.sdk.model.output.UserAddResponse;
import com.alibaba.sdk.model.output.UserListResponse;

/**
 * @ writer Shawn(Shawn_0217@163.com)
 * @ date & time 2021/4/26 23:32
 * @ company alibaba
 */
public interface UserService {

    /**
     * 用户列表翻页查询
     *
     * @param userListInput 列表查询参数类
     * @return
     */
    OperationResult<UserListResponse> userList(UserListInput userListInput);

    /**
     * 用户新增
     *
     * @param userAddInput 用户新增参数类
     * @return
     */
    OperationResult<UserAddResponse> userAdd(UserAddInput userAddInput);

    /**
     * 查看单条用户信息
     *
     * @param input 用户id
     * @return
     */
    OperationResult<OneUserResponse> getOne(OneUserInput input);

    OperationResult<User> get(UserTypeInput input);

}
